<?php
/**
 * Permet la gestion des champs de formulaire selon nos choix pour mon site
 */
$CI =& get_instance();
$CI->load->helper(array('my_dropdown', 'form'));

if(!function_exists('my_form_input'))
{
	function my_form_input($input_name, $from_var, $label, $error, $other = array())
	{
		$data = $other;
		$value = "";
		if(is_array($from_var) && isset($from_var[$input_name])) {
			$value = $from_var[$input_name];
		}elseif(is_object($from_var) && isset($from_var->{$input_name})) {
			$value = $from_var->{$input_name};
		}
		$data += array(
				  'name'        => $input_name,
				  'value'       => $value
				);
		if(!empty($error[$input_name])) {
			$data["class"] = !empty($data["class"]) ?
					$data["class"]." input_error" : "input_error";
		}
		$input = form_input($data);
		if(!empty($error[$input_name])) {
			$input .= my_display_error($error[$input_name], $label);
		}
		return $input;
	}
}

if(!function_exists('my_form_textarea'))
{
	function my_form_textarea($input_name, $from_var, $label, $error, $other = array())
	{
		$data = $other;
		$value = "";
		if(is_array($from_var) && isset($from_var[$input_name])) {
			$value = $from_var[$input_name];
		}elseif(is_object($from_var) && isset($from_var->{$input_name})) {
			$value = $from_var->{$input_name};
		}
		$data += array(
				  'name'        => $input_name,
				  'value'       => $value
				);
		if(!empty($error[$input_name])) {
			$data["class"] = !empty($data["class"]) ?
					$data["class"]." input_error" : "input_error";
		}
		$input = form_textarea($data);
		if(!empty($error[$input_name])) {
			$input .= my_display_error($error[$input_name], $label);
		}
		return $input;
	}
}

if(!function_exists('my_form_checkbox'))
{
	function my_form_checkbox($input_name, $from_var, $label, $error, $other = array())
	{
		$data = $other;
		$value = "";
		if(is_array($from_var) && isset($from_var[$input_name])) {
			$value = $from_var[$input_name];
		}elseif(is_object($from_var) && isset($from_var->{$input_name})) {
			$value = $from_var->{$input_name};
		}
		$data += array(
				  'name'    => $input_name,
				  'value'   => 1,
				  'checked' => $value == 1
				);
		if(!empty($error[$input_name])) {
			$data["class"] = !empty($data["class"]) ?
					$data["class"]." input_error" : "input_error";
		}
		$input = form_checkbox($data);
		if(!empty($error[$input_name])) {
			$input .= my_display_error($error[$input_name], $label);
		}
		return $input;
	}
}

if(!function_exists('my_form_dropdown'))
{
	function my_form_dropdown($input_name, $options, $from_var, $label, $error)
	{
		$value = "";
		if(is_array($from_var) && isset($from_var[$input_name])) {
			$value = $from_var[$input_name];
		}elseif(is_object($from_var) && isset($from_var->{$input_name})) {
			$value = $from_var->{$input_name};
		}
		$select = form_dropdown($input_name, $options, $value);
		if(!empty($error[$input_name])) {
			$select .= my_display_error($error[$input_name], $label);
		}
		return str_replace("<select", '<select id="'.$input_name.'"', $select);
	}
}

if(!function_exists('my_form_label'))
{
	function my_form_label($label, $for, $mandatory = false)
	{
		$data = array();
		if($mandatory) {
			$data["class"] = "mandatory";
		}
		return form_label($label." : ", $for, $data);
	}
}
